package cn.com.dhcc.ddi.task.dao;

import cn.com.dhcc.app.core.dao.BaseDao;
import cn.com.dhcc.app.core.exception.DaoException;
import cn.com.dhcc.app.core.service.Log;
import cn.com.dhcc.app.core.service.Log.LOGTYPE;
import cn.com.dhcc.app.pub.CM;
import cn.com.dhcc.ddi.task.vo.TaskOntime;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Repository;

/**
 * @类: TaskOntimeDao
 * @描述: 一次性任务Dao
 * @作者: 张洪涛
 * @日期: 2016年11月14日 下午3:19:17
 * @版权所有: 东华软件
 * @版本:1.0
 */
@Repository
public class TaskOntimeDao extends BaseDao {
	private static Logger logger = Log.getLogger(LOGTYPE.DDI);

	public TaskOntime getTaskOntime(String id) throws DaoException {
		String msg;
		String sql = "select * from " + SI_TABLE("t_ddi_task_ontime") + " where task_id=? ";
		try {
			TaskOntime ontime = CM.getDao().getModule("", sql,
					TaskOntime.class, new Object[] { id });
			if (ontime != null) {
				return ontime;
			} else {
				return null;
			}
		} catch (DaoException e) {
			msg = "获取表数据失败";
			logger.error(msg, e);
			throw new DaoException(msg, e);
		}
	}
	
	/**
	 * 删除一次性任务
	 * @param  taskId 任务id
	 * @return 成功数
	 * @throws DaoException
	 */
	public int deleteByTaskId(String taskId) throws DaoException{
		String msg;
		String sql = "DELETE FROM "+SI_TABLE("t_ddi_task_ontime") + " WHERE task_id=? ";
		try {
			return CM.getDao().delete("删除一次性任务", sql, new Object[]{taskId});
		} catch (DaoException e) {
			msg = "删除一次性任务失败";
			logger.error(msg, e);
			throw new DaoException(msg, e);
		}
	}
	/**
	 * 新增或修改
	 * @param obj
	 * @return
	 * @throws DaoException
	 */
	public int insertOrUpdate(TaskOntime obj) throws DaoException {
		return getDao().saveOrUpdateModuleByIdExecuteNull("新增或修改",obj);
	}
}
